Skip to content

refactor(harness): delete unused browser graph topology (SAP-3090) - #908

Open
ynadge wants to merge 3 commits into
yashnadge/sap-3090-remove-legacy-browser-entrypointsfrom
yashnadge/sap-3090-delete-browser-graph-topology
Open

refactor(harness): delete unused browser graph topology (SAP-3090)#908
ynadge wants to merge 3 commits into
yashnadge/sap-3090-remove-legacy-browser-entrypointsfrom
yashnadge/sap-3090-delete-browser-graph-topology

Conversation

@ynadge

@ynadge ynadge commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Primary change type

  • Bug fix
  • Documentation
  • Feature
  • Tests
  • Dependency update
  • Maintenance or refactor

Problem and motivation

After shell entry points were removed, the old project renderer, loaders, topology and mock cache had no supported browser consumers. Keeping them made the retired protocol and ownership boundary ambiguous.

Summary and scope

Delete unused graph components, parser/layout/navigation/grouping helpers, API methods, mock projection, announcements, graph-only fixtures and tests. Move retained viewport coverage to its neutral owner and give retained styles Agent Map names. Preserve the muted monospace metadata role with --text-faint, --font-mono and --type-meta. Request counters observe actual legacy HTTP paths before boot. Per-agent Canvas and shared viewport math remain in use.

Screenshots from the same mock map and viewport:

Related work

Related issue or discussion: SAP-3090. Part of the authorized cleanup stack above #892 and #893, targeting main. The seven layers are intended to merge and ship together. Updated layers require maintainer approval before merge.

Validation

Review-fix verification on cumulative source 5bfed981, including current main (8679d745). Server and browser typechecks also passed on each of the seven isolated PR heads.

pnpm --filter '@sapiom/harness...' build — passed
pnpm --filter @sapiom/harness typecheck — passed
pnpm --filter @sapiom/harness lint — passed
pnpm --filter @sapiom/harness exec vitest run --maxWorkers=2 — 3,845 passed, 2 skipped
pnpm --filter @sapiom/harness test:perf — 10 passed
pnpm --filter @sapiom/harness exec playwright test --config <local Chrome override> --workers=2 — 634 passed
pnpm --filter @sapiom/harness exec playwright test --config <Canvas Chrome override> --workers=2 — 15 passed
pnpm terminology:check — passed
pnpm provider-copy:check — passed

The browser override selects the installed Google Chrome, temporary output paths and pnpm exec vite; it preserves the checked-in tests and assertions. All 16 focused map/style/project-tab cases passed, including light/dark computed styles, project/agent viewport restoration, offscreen recovery, automatic fitting, auth isolation and layout recovery. The viewport and metadata regressions failed before their fixes. The new viewport and project-altitude tests also passed on #907's own intermediate tree (10 cases).

An initial three-worker Harness run failed one archive-wiring case; the affected file passed unchanged 8/8, followed by the complete passing two-worker run above. The main integration passed 263 focused cases, and #892's resolved auth mock passed 4/4 on its own tree. No tests or admission guards were weakened.

All PR heads include main's deliberate removal of the duplicate Claude workflow in #886. The reviewed commits remain in history; the stack update uses ordinary fast-forward pushes. Fresh build hashes and the earlier package/smoke evidence are recorded in the retirement record. Signed macOS installer/upgrade validation remains SAP-3086.

Tests and documentation

Retained neutral viewport and analytics coverage; added computed-style checks for map header, node kind and inspector metadata in light and dark themes. Before/after screenshots use only the public mock fixture. Removed the stale mock graph failure comment.

Compatibility and release impact

  • Breaking or externally visible changes: No additional public behavior change beyond the preceding browser layer. Removed methods were internal browser implementation; durable APIs and the independent per-agent Canvas remain.
  • Changeset: N/A — internal deletion is included in the preceding Harness browser patch changeset.

Security

  • I have not included secrets, credentials, private data, or unsanitized logs.
  • This pull request does not publicly disclose a suspected vulnerability. I will follow the Security Policy for private reporting.

AI assistance

  • I did not use AI assistance for this change.
  • I used AI assistance and have described it below.

Codex implemented the cleanup and test/doc migrations, traced retained callers, and checked the resulting diffs. Automated checks above and independent read-only review provide implementation evidence; maintainer review is still required.

Checklist

  • I read CONTRIBUTING.md, and this contribution follows the direct-PR or issue-first policy.
  • This pull request addresses one focused problem and contains no unrelated cleanup.
  • I added or updated tests, or explained above why tests are not applicable.
  • I ran the relevant build, typecheck, lint, and test commands, or explained any N/A checks above.
  • I updated documentation for user-facing changes, or marked it N/A above.
  • I added a Changeset for a published-package change, or explained why it is not applicable.
  • I can explain and maintain every submitted change, including any AI-assisted work.

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 6b687d11-48ae-48e3-90ed-6ff3b42cfe33

📥 Commits

Reviewing files that changed from the base of the PR and between 22452e6 and 62c2ffd.

⛔ Files ignored due to path filters (4)
  • .github/screenshots/SAP-3090/metadata-after-dark.png is excluded by !**/*.png
  • .github/screenshots/SAP-3090/metadata-after-light.png is excluded by !**/*.png
  • .github/screenshots/SAP-3090/metadata-before-dark.png is excluded by !**/*.png
  • .github/screenshots/SAP-3090/metadata-before-light.png is excluded by !**/*.png
📒 Files selected for processing (30)
  • docs/plans/agent-studio-plan-first-agent-map/authority-retirement.md
  • packages/harness/web/e2e/agent-map-authority.spec.ts
  • packages/harness/web/e2e/agent-map-metadata.spec.ts
  • packages/harness/web/src/components/AgentMapCanvas.tsx
  • packages/harness/web/src/components/AgentMapInspector.tsx
  • packages/harness/web/src/components/AgentMapPane.tsx
  • packages/harness/web/src/components/SystemGraphCanvas.tsx
  • packages/harness/web/src/components/WorkflowsRail.tsx
  • packages/harness/web/src/components/WorkspaceGraphView.test.ts
  • packages/harness/web/src/components/WorkspaceGraphView.tsx
  • packages/harness/web/src/lib/analytics/redaction-gate.test.ts
  • packages/harness/web/src/lib/api.test.ts
  • packages/harness/web/src/lib/api.ts
  • packages/harness/web/src/lib/graph-viewport.test.ts
  • packages/harness/web/src/lib/system-graph-announcements.ts
  • packages/harness/web/src/lib/system-graph-groups.test.ts
  • packages/harness/web/src/lib/system-graph-groups.ts
  • packages/harness/web/src/lib/system-graph-layout.test.ts
  • packages/harness/web/src/lib/system-graph-layout.ts
  • packages/harness/web/src/lib/system-graph-loader.test.ts
  • packages/harness/web/src/lib/system-graph-loader.ts
  • packages/harness/web/src/lib/system-graph-navigation.test.ts
  • packages/harness/web/src/lib/system-graph-navigation.ts
  • packages/harness/web/src/lib/system-graph-viewport.ts
  • packages/harness/web/src/lib/system-graph.test.ts
  • packages/harness/web/src/lib/system-graph.ts
  • packages/harness/web/src/lib/use-agent-map-layout.ts
  • packages/harness/web/src/lib/use-harness-state.ts
  • packages/harness/web/src/styles.css
  • scripts/agent-studio-terminology-allowlist.json

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ynadge
ynadge added this pull request to stack #894 September 9, 2026 23:15
@ynadge
ynadge marked this pull request as ready for review September 10, 2026 03:33

@gwitwer gwitwer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to fix before this merges, otherwise the deletion is clean.

The CSS rename drops a rule the Agent Map depends on. On main, .system-graph-node-meta had two rules in web/src/styles.css: the overflow/ellipsis one (:4365) and a second one (:4377-4381) with color: var(--text-faint); font-family: var(--font-mono); font-size: var(--type-meta). This PR renames the class on all four Agent Map consumers (AgentMapCanvas.tsx:363 node kind, :408 zoom status, AgentMapInspector.tsx:50 kind, AgentMapPane.tsx:400 header meta) but deletes the second rule (diff around the .system-graph-node-meta { hunks), so those labels now inherit body colour, face and size. No spec asserts computed style, which is why CI is green.

Fix: add the three declarations back on .agent-map-node-meta. A before/after screenshot on the PR would be worth it.

Minor, same file set: api.ts:2994 still mentions __MOCK_SYSTEM_GRAPH_FAIL_ONCE__, which no longer exists.

Everything else checks out: every deleted module, export, test id and class was grepped on the head and only negative assertions remain; graph-viewport and the ELK files are untouched; the deleted viewport module was a pure alias.

Preserve the reviewed history while updating the stack for review fixes.
Preserve the muted monospace metadata role after removing the old graph styles. Cover the computed light and dark styles, attach mock-fixture before and after screenshots, and remove the stale mock failure comment.

Refs: SAP-3090
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants